1. Field of the Invention
This invention generally relates to methods and apparatus for data transactions and particularly to improve processing of distributed transactions.
2. Description of Background
In today's application server environment there is a good deal of need to be able to execute backend transactions in parallel to complete disjoint business operations to display information to the end user or drive updates to the backend in a highly performant manner. While at the same time, being able to abort incomplete segments of the transactions and still return some data to provide the end user with information. At the moment there are a few mechanisms to perform partially this type of operation inside of an application server with Async Beans being the mechanism inside of WebSphere that allows you to drive multiple backend transactions on separate runtime threads but does not give you the ability to link these transactions together and execute them based on rules.
With the current programming model, if one ends up with one of the backend transactions hanging up in a high level business transaction, one gets into the situation where the application server cannot ever complete the business transaction. This is because it will always roll back because of a timeout. In most cases, this is desirable because atomisity is desired. However, in other cases there are specific backend transactions that make up the larger business transaction that one does not care if it is complete before returning the information back to the end user. One can assume they provide some data that is not critical for the end user.
Therefore, there is a need for backend transaction processing that will overcome the disadvantages of the prior art and provides improved performance even in times of numerous backend transaction failures.